package cn.bugstack.wrench.dynamic.config.center.service;

import cn.bugstack.wrench.dynamic.config.center.model.valobj.AttributeVO;

import java.util.jar.Attributes;

/**
 * 动态配置中心服务接口
 * @author Fuzhengwei bugstack.cn chenjia
 */
public interface IDynamicConfigCenterService {

    /**
     * 用于对 Spring 容器中的 Bean 进行代理，扫描并注入带有 @DCCValue 注解的属性，实现属性的动态赋值。
     * @param bean bean
     * @return object
     */
    Object proxyObject(Object bean);


    /**
     * 用于在接收到配置变更事件时，动态调整目标 Bean 的属性值。
     * @param attributeVO 属性值调整值对象
     */
    void adjustAttributeValue(AttributeVO attributeVO);
}
